/**
 *@description tab点击事件
 *@author XieXing
 *@date 2020/8/15 18:13
 */
function tabClick(id) {
    var tmpUrl = $(".site-menu-active[data-id=" + id + "]").attr("data-url");
    $("iframe[data-frameid=" + id + "]").attr("src", tmpUrl);//重新刷新iframe
}

var main = {
    init: function () {

        layui.use(['element', 'layer', 'jquery'], function () {
            var element = layui.element;
            var layer = layui.layer;
            var $ = layui.$;
            // 配置tab实践在下面无法获取到菜单元素
            $('.site-menu-active').on('click', function () {
                var dataid = $(this);
                //这时会判断右侧.layui-tab-title属性下的有lay-id属性的li的数目，即已经打开的tab项数目
                if ($(".layui-tab-title li[lay-id]").length <= 0) {
                    //如果比零小，则直接打开新的tab项
                    active.tabAdd(dataid.attr("data-url"), dataid.attr("data-id"), dataid.attr("data-title"));
                } else {
                    //否则判断该tab项是否以及存在
                    var isData = false; //初始化一个标志，为false说明未打开该tab项 为true则说明已有
                    $.each($(".layui-tab-title li[lay-id]"), function () {
                        //如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到，则说明该tab项已经打开
                        if ($(this).attr("lay-id") == dataid.attr("data-id")) {
                            isData = true;
                        }
                    });
                    if (isData == false) {
                        //标志为false 新增一个tab项
                        active.tabAdd(dataid.attr("data-url"), dataid.attr("data-id"), dataid.attr("data-title"));
                    }
                }
                //最后不管是否新增tab，最后都转到要打开的选项页面上
                active.tabChange(dataid.attr("data-url"), dataid.attr("data-id"));
            });


            var active = {
                //在这里给active绑定几项事件，后面可通过active调用这些事件
                tabAdd: function (url, id, name) {
                    //新增一个Tab项 传入三个参数，分别对应其标题，tab页面的地址，还有一个规定的id，是标签中data-id的属性值
                    //关于tabAdd的方法所传入的参数可看layui的开发文档中基础方法部分
                    element.tabAdd('main', {
                        title: name,
                        content: '<iframe data-frameid="' + id + '" scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:99%;"></iframe>',
                        id: id //规定好的id
                    });
                    FrameWH(); //计算ifram层的大小
                    //不要直接给tab定义点击事件 防止重复定义
                    $(".layui-tab-title li[lay-id=" + id + "]").attr("onClick", "tabClick(" + id + ")");
                },
                tabChange: function (url, id) {
                    //切换到指定Tab项
                    element.tabChange('main', id); //根据传入的id传入到指定的tab项
                    $("iframe[data-frameid=" + id + "]").attr("src", url);//重新刷新iframe
                },
                tabDelete: function (id) {
                    element.tabDelete("main", id);//删除
                }
            };

            //默认点击左侧第一个菜单
            $(".site-menu-active").eq(2).trigger("click");

            function FrameWH() {
                var h = $(window).height();
                $("iframe").css("height", h + "px");
            }


            /**
             *@description 监听退出按钮
             *@author XieXing
             *@date 2020/8/11 16:05
             */
            $(".logout").click(function () {
                layer.confirm("确认退出吗？", {icon: 0, title: "退出系统提示"}, function () {
                    window.location = "/logout";
                })
            });

            /**
             *@description 点击当前菜单模块 关闭其他展开的菜单
             *@author XieXing
             *@date 2020/8/30 21:27
             */
            $('.layui-nav-tree').on('click', 'li', function () {
                $(this).siblings('li').removeClass('layui-nav-itemed');
            });
            
        });
    }
};
main.init();